#ifndef __OGLSHADEROBJECT_H__
#define __OGLSHADEROBJECT_H__

#include <GL/glew.h>

namespace Hope {

    class OGLShaderObject
    {
    public:
        OGLShaderObject(const char *vertexShader, const char *fragmentShader);
        ~OGLShaderObject();

    protected:

        void init(const char *vertexShader, const char *fragmentShader);

        bool createProgram();

        bool linkProgram();

        bool createShader(GLenum type, const char *shader);


    private:
        GLuint m_program{};
    };

}

#endif